Skip to content

Release Version 1#1

Open
Refzlund wants to merge 264 commits into
mainfrom
next
Open

Release Version 1#1
Refzlund wants to merge 264 commits into
mainfrom
next

Conversation

@Refzlund

Copy link
Copy Markdown
Owner

No description provided.

@changeset-bot

changeset-bot Bot commented Apr 11, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: f3e1256

The changes in this PR will be included in the next version bump.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@github-actions

github-actions Bot commented Apr 14, 2026

Copy link
Copy Markdown

✅ Documentation PR preview deployed successfully

This pull request gets a stable PR-scoped preview link that is updated in place on every preview run.

Logs and details
.svelte-kit/output/server/entries/pages/_layout.svelte.js              18.47 kB │ gzip:   4.60 kB
.svelte-kit/output/server/chunks/internal.js                           19.02 kB │ gzip:   5.77 kB
.svelte-kit/output/server/chunks/shared.js                             23.90 kB │ gzip:   6.44 kB
.svelte-kit/output/server/chunks/utils.js                              29.10 kB │ gzip:   8.39 kB
.svelte-kit/output/server/remote-entry.js                              35.60 kB │ gzip:   8.02 kB
.svelte-kit/output/server/chunks/runtime.js                            43.37 kB │ gzip:  10.59 kB
.svelte-kit/output/server/chunks/messages.js                           87.43 kB │ gzip:  16.42 kB
.svelte-kit/output/server/index.js                                    130.59 kB │ gzip:  33.53 kB
.svelte-kit/output/server/entries/pages/docs/_slug_/_page.svelte.js   134.93 kB │ gzip:  27.06 kB
.svelte-kit/output/server/chunks/dev.js                               142.87 kB │ gzip:  36.83 kB
.svelte-kit/output/server/entries/hooks.server.js                     170.11 kB │ gzip:  35.52 kB
.svelte-kit/output/server/chunks/content.js                           525.11 kB │ gzip: 133.91 kB

�[33m�[33m[PLUGIN_TIMINGS] Warning:�[0m Your build spent significant time in plugins. Here is a breakdown:
  - devflare (48%)
  - vite-plugin-sveltekit-guard (35%)
  - vite-plugin-sveltekit-virtual-modules (9%)
  - vite-plugin-sveltekit-compile (4%)
See https://rolldown.rs/options/checks#plugintimings for more details.
�[39m
�[32m✓ built in 9.75s�[39m

Run npm run preview to preview your production build locally.

> Using @sveltejs/adapter-cloudflare
  ✔ done
[log] Generated deploy Wrangler config: .devflare/build/wrangler.jsonc
[log] Generated deploy redirect: .wrangler/deploy/config.json
[log] worker devflare-docs-pr-1
[log] Deploying with Wrangler…

 ⛅️ wrangler 4.81.1 (update available 4.82.2)
─────────────────────────────────────────────
Using redirected Wrangler configuration.
 - Configuration being used: ".devflare/build/wrangler.jsonc"
 - Original user's configuration: "<no user config found>"
 - Deploy configuration file: ".wrangler/deploy/config.json"
[success] Preview URL: https://devflare-docs-pr-1.refz.workers.dev
[warn] Deployment verification note: Wrangler completed the named preview-scope deploy for Worker "devflare-docs-pr-1" and exposed https://devflare-docs-pr-1.refz.workers.dev, but Cloudflare did not return a Worker version id. Devflare is treating this branch-scoped preview deploy as successful because named preview workers can lag in control-plane version metadata.
[success] Deployed successfully!

@github-actions

github-actions Bot commented Apr 14, 2026

Copy link
Copy Markdown

✅ Testing branch preview deployed successfully

This workflow publishes a branch-scoped testing preview on every qualifying push, even when no pull request exists. When the branch belongs to an open pull request, the same run also refreshes the stable PR preview comment.

Logs and details
Using deploy command: bunx --bun devflare deploy
Deploy target: preview scope (next)
Bun version: 1.3.12
Node version: v20.20.2
[log]
[log] deploy Shipping to Cloudflare
[log] Reused preview-scoped resources: KV 2 · D1 3 · R2 2 · Queues 4 · Vectorize 2
[warn] Workers Analytics Engine datasets are created automatically on first write, so Devflare does not provision or delete preview-scoped analytics datasets.
[warn] Browser Rendering bindings do not own account-scoped resources, so Devflare does not provision or delete preview-scoped browser bindings.
[warn] Preview Hyperdrive "devflare-testing-next" is not auto-provisioned because Cloudflare does not expose stored Hyperdrive credentials for cloning. Devflare will reuse the base Hyperdrive "devflare-testing" for binding POSTGRES.
[log] Building: devflare-testing-binding-matrix-next
[log] Branch-scoped preview deploy detected (next); omitting shared queue consumers and cron triggers from the deployed Wrangler config to avoid singleton Cloudflare resource conflicts.
[log] Generated bundled worker entry: .devflare/worker-entrypoints/main.js
[log] Skipping Vite build (no effective Vite config found for this package)
[log] Generated deploy artifact: .devflare/build/worker.js
[log] Generated deploy Wrangler config: .devflare/build/wrangler.jsonc
[log] Generated deploy redirect: .wrangler/deploy/config.json
[log] worker devflare-testing-binding-matrix-next
[log] Deploying with Wrangler…

 ⛅️ wrangler 4.81.1 (update available 4.82.2)
─────────────────────────────────────────────
Using redirected Wrangler configuration.
 - Configuration being used: ".devflare/build/wrangler.jsonc"
 - Original user's configuration: "<no user config found>"
 - Deploy configuration file: ".wrangler/deploy/config.json"
[success] Preview URL: https://devflare-testing-binding-matrix-next.refz.workers.dev
[warn] Deployment verification note: Wrangler completed the named preview-scope deploy for Worker "devflare-testing-binding-matrix-next" and exposed https://devflare-testing-binding-matrix-next.refz.workers.dev, but Cloudflare did not return a Worker version id. Devflare is treating this branch-scoped preview deploy as successful because named preview workers can lag in control-plane version metadata.
[warn] Devflare preview registry sync failed: This Worker does not exist on your account.
[success] Deployed successfully!
  • Auth impact: deploy (workspace dependency "devflare" changed)
  • Auth service version: not available
  • Search impact: deploy (workspace dependency "devflare" changed)
  • Search service version: not available
  • Main preview impact: deploy (workspace dependency "devflare" changed)
  • Deployed binding verification: passed
  • Verification mode: CI inspects deployed preview Worker metadata directly when Cloudflare exposes it, and otherwise falls back to the successful named-preview deploy output plus resolved preview config because the testing preview URL is protected by Cloudflare Access.
  • Preview strategy: named preview scope via --preview <branch> so the testing worker family deploys to the same explicit branch target.
  • Auth deploy status: success
  • Auth failure stage: n/a
  • Search deploy status: success
  • Search failure stage: n/a
  • Main preview deploy status: success
  • Main preview failure stage: n/a

@github-actions github-actions Bot had a problem deploying to documentation branch preview / next April 14, 2026 17:21 Failure
@github-actions github-actions Bot had a problem deploying to testing branch preview / next April 14, 2026 17:28 Failure
github-actions Bot and others added 30 commits June 29, 2026 02:52
…cts + Services (CF-5)

DO/services were mislabelled remote-boundary ("No offline support classification
exists") despite running fully locally under createTestContext() (Miniflare).
Reclassified offline-native with an honest message: runs via createTestContext,
no pure in-memory createMockEnv mock. createOfflineBindings still flags them
(distinct axis: pure-offline can't provide a real DO/service). Containers wording
confirmed accurate (no separate container env binding; config compiles via
compileContainers); AI `remote` confirmed accepted by wrangler. Fifth batch of
the Cloudflare-coverage gap-closure (docs/CLOUDFLARE_GAPS.md).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…-6a)

- deploy --prod --percentage <n> [--version <id>]: canary rollout via
  `wrangler versions upload` then `wrangler versions deploy <new>@<n> [<old>@<rest>]`.
  Production-only; rejected on preview/dry-run; fails loudly if the new version id
  can't be resolved (never rolls out the wrong version).
- devflare tail: streams a deployed worker's logs via the Cloudflare tail API
  (ws, trace-v1), --format pretty|json, deletes the tail + closes the socket on exit.

Honest, thin wrappers over the real wrangler/Cloudflare mechanisms. Part of the
Cloudflare-coverage gap-closure (CF-6a; docs/CLOUDFLARE_GAPS.md).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…k + prod secrets hint (CF-6b)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…eEnv/DevflareVars

createReadonlyProxy inferred its type parameter from the internal getter
(Record<string, unknown>) rather than the exported type, so a consumer that
declared vars (giving DevflareEnv/DevflareVars required keys) got a type error
importing env/vars. Pass the declared type explicitly. Surfaced by the docs
app's svelte-check once the turbo `check` cache was invalidated.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
… + legacy-blob passthrough, email routing rules

Document the four CF-7 boundary/clarity gaps in the support matrix and mark them
covered in the gap ledger. DO WebSocket Hibernation works locally (Miniflare runs
the DO in real workerd; the DO wrapper relays webSocket* handlers) — the prior
"not in DO context/bridge" framing was a stale claim, corrected with the case18
worked example and the one cross-process-bridge nuance. unsafe bindings/metadata
and legacy wasm_modules/text_blobs/data_blobs are passthrough-only via
wrangler.passthrough with no local emulation (rules is the modern path). Email
Routing rules are a dashboard service, not wrangler config.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…ing-tails/dev-server/compliance/etc.) (CF-9)

A dependency-grounded re-investigation (wrangler 4.85.0 / miniflare 4.20260424.0
/ workers-types 4.20260426.1) surfaced 13 remaining gaps; this implements them,
each mirroring an existing sibling and additive/back-compatible.

Locally wired: queue producer deliveryDelay, service binding props,
streamingTailConsumers (Miniflare streamingTails), server https/inspectorPort/
upstream, cachePersist, dev/test-only outboundService.
Deploy-compiled: queue consumer visibilityTimeoutMs, complianceRegion, workersDev
toggle, custom-domain route enabled/previewsEnabled, sendEmail remote (deploy
directive; stripped locally like mTLS).
Legacy `site` documented as wrangler.passthrough-reachable.

Two files split to stay <1000 lines (schema-types-runtime-server.ts extraction
with back-compat re-export; bridge/miniflare.ts inlined helpers). Fresh
quality-reviewer PASS (0 must-fix); the cross-process bridge's simplified
queue-producer model is documented in the support matrix.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…ility/placement/limits matrix docs (CF-11)

CF-10 convergence pass (6/8 areas zero candidates) found 2 low gaps on
already-working backends. Adds a read-only `devflare productions deployments`
subcommand surfacing the full deployment history (strategy/traffic-split/message/
triggeredBy) via the existing account.workerDeployments read API, and documents
the deploy-only observability/placement/limits config keys in the support matrix.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…ail + offline auto-wire (CF-13)

CF-12 convergence pass (7/8 areas zero candidates) found the last gap: sendEmail
had a pure local mock but was the only mockable binding not auto-wired into
createOfflineEnv()/createMockEnv nor classified in the offline SUPPORT_MATRIX.
Adds a recording createMockSendEmail() (asserts dispatched mail, enforces
allow-lists), auto-wires it offline at parity with analyticsEngine/vectorize,
classifies sendEmail offline-native (was a false remote-boundary), and exports
the helpers from devflare/test.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
CF-14 convergence pass (only 2 low gaps, both the same class) — two unthreaded
Miniflare CoreSharedOptions local-dev knobs, direct siblings of the
server.https/inspectorPort/upstream added in CF-9. Adds server.liveReload
(in-browser auto-reload) and server.cf (override request.cf for local dev),
threaded into the dev Miniflare sharedOptions. Deploy-inert.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…treamingTailConsumer is service-only) (CF-17)

CF-16 convergence pass found a CF-9 regression: streamingTailConsumers was
modeled as a full twin of tailConsumers including an optional environment, but
wrangler's StreamingTailConsumer accepts only service (additionalProperties:
false). A config setting environment validated locally but failed at deploy.
Remove environment from the streaming-tail schema/input-type/compiler so it is
rejected at config-parse time — validate-locally == deploy-valid.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…CF-19)

CF-18 convergence pass found the last per-binding environment gap: cross-worker
DO bindings accept an environment (service-environment of the target script) that
devflare didn't model, so a user-set value was silently dropped before deploy.
Model environment? on the DO binding + normalization, emit it for cross-worker
DOs only (script_name present). Per-binding environment now matches wrangler
across services/dispatch/DOs (streaming tail consumers correctly omit it, CF-17).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
… (CF-21)

CF-20 convergence pass found service bindings emitted a separate environment
field, but wrangler's services item is additionalProperties:false and addresses
an environment via the service name (<worker_name>-<environment_name>). Settled
the contested service-vs-DO environment fact by reading wrangler 4.85.0
config-schema.json directly (services: no separate field; DO/dispatch/tail: yes).
Fold environment into the emitted service name (keep the ergonomic input),
producing deploy-valid output; fixed the preview-bindings consumer + stale docs.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
… (CF-23)

CF-22 convergence pass found a documentation-completeness nit: the bundling
boundary named a closed list (minify/define/alias/no_bundle) that omitted
same-class esbuild flags (jsx_factory/jsx_fragment/keep_names). No capability
missing (all passthrough-reachable; rolldown is the native path). Made the
boundary enumeration open-ended and added a matrix subsection.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…server inspectorHost/verbose/logRequests (CF-25)

CF-24 convergence pass: 1 medium correctness gap + 2 low dev knobs.
- Route enabled/previews_enabled are only valid on custom-domain routes (wrangler
  zone_id/zone_name routes are additionalProperties:false); reject at parse time +
  emit only for custom-domain routes (the CF-17/19/21 validate-locally==deploy-valid
  class, now applied to routes).
- Add server.inspectorHost/verbose/logRequests (last user-facing CoreSharedOptions
  local-dev knobs); enumerated the full set to close the class (rest are internal).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
`server.publicUrl` is the public-facing URL the local dev runtime advertises
for itself (Miniflare's `/core/public-url` loopback; otherwise the runtime
entry URL) — for when dev sits behind a reverse proxy, tunnel, or custom
domain. Added to `serverConfigSchema`/`ServerConfigInput`, threaded into the
dev `sharedOptions` like its `upstream`/`cf`/`liveReload` siblings, and
documented. Local-dev only — no deploy effect (no wrangler analogue, verified
absent in wrangler v3 + v4 config-schema.json).

This is the CF-27 confirmation pass's lone confirmed gap: the final user-facing
`CoreSharedOptions` field (after `telemetry`) that CF-25's "close the class"
enumeration overlooked. Corrects that stale claim in the gap ledger.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…o gaps, 2 consecutive clean passes)

Two consecutive zero-gap re-investigation passes after the CF-28 publicUrl fix:
CF-29 surfaced 6 candidates (all independently verified already-covered/n-a),
CF-30 surfaced zero. Fixpoint reached — the Cloudflare-coverage gap loop is
closed. Docs-only (gap ledger); no package change.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant